#!/usr/bin/env python
# -*- coding:utf-8 -*-
# Author:taotieren

"""
    rpi.gpio 需要 root 权限，板上运行需要使用
    sudo python stepper_hat.py
    控制步进电机正反转
    HAT 会自动检测所用的 I2C 总线，如果总线 0 已经启用的话，它会检测到一个错误。
    需要在 /boot/config.txt 中，删除或者注释下面的命令行
        dtparam=i2c_vc=on
    完成上述操作后，请重启树莓派

"""
""" python3 中请安装 Adafruit_MotorHAT 来进行程序调试和验证 """
from Adafruit_MotorHAT import Adafruit_MotorHAT
import time

HAT = Adafruit_MotorHAT
stepper_hat = Adafruit_MotorHAT()

stepper = stepper_hat.getStepper(200, 1)  # 200 steps.rev ,port 1 (M1, M2)

try:
    while True:
        speed = input("Enter stepper speed (rpm):")
        stepper.setSpeed(speed)
        steps_forward = input("Steps forward.")
        stepper.step(steps_forward, HAT.FORWARD, HAT.SINGLE)
        steps_forward = input("Steps reverse.")
        stepper.step(steps_forward, HAT.BACKWARD, HAT.SINGLE)

finally:
    print("Cleaning up!")
    stepper_hat.getMotor(1).run(HAT.RELEASE)
